package cn.meye11.crm.domain.query;
import cn.meye11.crm.common.Page;
import cn.meye11.crm.common.RegexUtils;
import lombok.*;

import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 项目表(Item)查询类
 *
 * @author makejava
 * @since 2023-11-18 19:20:43
 */
@ToString(callSuper = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//@ApiModel("项目表")
public class ItemQuery extends Page implements Serializable {

    private static final long serialVersionUID = -73016448153487659L;

    /*
     * id(可以传入一组id，以逗号分隔)
     */
    @Pattern(regexp = RegexUtils.Type.ONLY_NUMBER_OR_EMPTY, message = "只能为数字以逗号分割")
    private String id;
   //@ApiModelProperty(value = "项目名称 精确查")
    private String name;
   //@ApiModelProperty(value = "项目名称 模糊查")
    private String nameLike;
   //@ApiModelProperty(value = "项目名称 在列表中 逗号分割")
    private String nameIn;
   //@ApiModelProperty(value = "项目名称 不在列表中 逗号分割")
    private String nameNotIn;
   //@ApiModelProperty(value = "项目代码 精确查")
    private String code;
   //@ApiModelProperty(value = "项目代码 模糊查")
    private String codeLike;
   //@ApiModelProperty(value = "项目代码 在列表中 逗号分割")
    private String codeIn;
   //@ApiModelProperty(value = "项目代码 不在列表中 逗号分割")
    private String codeNotIn;
   //@ApiModelProperty(value = "含税价格 精确查")
    private Double price;
   //@ApiModelProperty(value = "未税价格 精确查")
    private Double untaxedPrice;
   //@ApiModelProperty(value = "税率 精确查")
    private Double taxRate;
   //@ApiModelProperty(value = "服务内容 精确查")
    private String serviceContent;
   //@ApiModelProperty(value = "服务内容 模糊查")
    private String serviceContentLike;
   //@ApiModelProperty(value = "服务内容 在列表中 逗号分割")
    private String serviceContentIn;
   //@ApiModelProperty(value = "服务内容 不在列表中 逗号分割")
    private String serviceContentNotIn;
   //@ApiModelProperty(value = "客户画像标签 精确查")
    private String label;
   //@ApiModelProperty(value = "客户画像标签 模糊查")
    private String labelLike;
   //@ApiModelProperty(value = "客户画像标签 在列表中 逗号分割")
    private String labelIn;
   //@ApiModelProperty(value = "客户画像标签 不在列表中 逗号分割")
    private String labelNotIn;
   //@ApiModelProperty(value = "创建人 精确查")
    private String createdBy;
   //@ApiModelProperty(value = "创建人 模糊查")
    private String createdByLike;
   //@ApiModelProperty(value = "创建人 在列表中 逗号分割")
    private String createdByIn;
   //@ApiModelProperty(value = "创建人 不在列表中 逗号分割")
    private String createdByNotIn;
   //@ApiModelProperty(value = "最后修改人 精确查")
    private String modifiedBy;
   //@ApiModelProperty(value = "最后修改人 模糊查")
    private String modifiedByLike;
   //@ApiModelProperty(value = "最后修改人 在列表中 逗号分割")
    private String modifiedByIn;
   //@ApiModelProperty(value = "最后修改人 不在列表中 逗号分割")
    private String modifiedByNotIn;
    /*
     * 开始时间与结束时间
     */
   //@ApiModelProperty(value = "开始时间", notes = "yyyy-MM-dd HH:mm:ss", example = "2020-01-01 00:00:00")
    private LocalDateTime start;
   //@ApiModelProperty(value = "结束时间", notes = "yyyy-MM-dd HH:mm:ss", example = "2020-12-01 00:00:00")
    private LocalDateTime end;
}
